jQuery(document).ready(function($) {
	/**
	 * 菜单栏 - 主下拉菜单
	 * @author 宋欢
	 */
	$("#menu li").hover(
		function() {
			var maxwidth = 0;
			$(this).children("ul").children("li").each(function() {
				maxwidth < $(this).width() ? maxwidth = $(this).width() : "";
			});
			$(this).children("ul").children("li").width(maxwidth + "px");
			$(this).addClass("hover");
		},
		function() {
			$(this).removeClass("hover");
		}
	);
	
	/**
	 * 菜单栏 - 标签切换菜单
	 * @author 宋欢
	 */
	$("#submenu > li > a").click(function() {
		$("#submenu > li > a").each(function() {
			$(this).removeClass("active");
			$("#page-"+$(this).attr("id")).hide();
		});
		$(this).addClass("active");
		$("#page-"+$(this).attr("id")).show();
	});
	
	/**
	 * 折叠
	 * @author 宋欢
	 */
	$(".panel h3").click(function() {
		$(".panel h3.jpane-toggler").removeClass("jpane-toggler title").addClass("jpane-toggler-down title");
		$(".panel div.jpane-slider").stop().animate({height: "0px"}, 300);
		var height = $(this).next().height() > 0 ? 0 : $(this).next().find("table").height();
		height > 0 ? $(this).removeClass("jpane-toggler-down title").addClass("jpane-toggler title") : 
			$(this).removeClass("jpane-toggler title").addClass("jpane-toggler-down title");
		$(this).next().stop().animate({height: height+"px"}, 300);
	});
	
	/**
	 * CheckBox框 - 全选/全不选
	 * @author 宋欢
	 */
	$(":checkbox").click(function() {
		var chkname = $(":checkbox[name='toggle']").val();
		if ($(this).attr("name") == chkname) {
			var ischked = $(":checkbox[name='"+chkname+"']").length > $(":checkbox[name='"+chkname+"'][checked]").length ? false : true;
			$(":checkbox[name='toggle']").attr("checked", ischked);
		}
		else if ($(this).attr("name") == "toggle") {
			$(":checkbox[name='"+chkname+"']").attr("checked", $(this).attr("checked"));
		}
	});
	
	/**
	 * 文件夹Tree - 展开/折叠
	 * @author 宋欢
	 */
	$("#file-tree li > span").click(function() {
		if ($(this).next().is("ul")) {
			$(this).parent().toggleClass("opened").toggleClass("closed");
		}
	});
	
	/**
	 * 文件 - 显示操作按钮
	 * @author 宋欢
	 */
	$("#file-list > tr > td.title").hover(
		function() {
			var obj = $(this).find("span");
			var html = obj.hasClass("dir") ? "<span class=\"operate\"><a href=\"javascript:file_edit_name();\">修改名称</a> | <a href=\"#\">彻底删除</a></span>" : 
				"<span class=\"operate\"><a href=\"javascript:file_edit_name(this);\">修改名称</a> | <a href=\"#\">修改内容</a> | <a href=\"#\">彻底删除</a></span>";
			obj.after(html);
		},
		function() {
			$(this).find("span").eq(1).remove();
		}
	);
});

/**
 * 弹出确认框 - 删除类别
 * @author 宋欢
 */
function categories_del(category_id) {
	if (category_id == 10) {
		var buttons = {"确定": function() {jQuery(this).dialog("close");}};
		var height = 160;
		jQuery("#categories-del-confirm-box").html('该类别拥有子类别，请先返回删除本类别下级类别。');
	}
	else {
		var buttons = {
			"确定": function() {
				jQuery(this).dialog("close");
			},
			"取消": function() {jQuery(this).dialog("close");}
		}
		var height = 178;
		jQuery("#categories-del-confirm-box").html('本操作不可恢复，您确定要删除该类别，清除类别的文件保存目录吗？<br/>注意：该类别下的信息被删除到信息回收站中。');
	}
	jQuery("#categories-del-confirm").dialog({resizable: false, height: height, modal: true, buttons: buttons});
}

/**
 * 弹出表单框 - 回复评论框
 * @author 宋欢
 */
function comments_reply(comment_id) {
	jQuery("#comments-reply-form").dialog({
		resizable: false, 
		height: 286,
		width: 660,
		modal: true, 
		buttons: {
			"确定": function() {
				jQuery(this).dialog("close");
			},
			"取消": function() {jQuery(this).dialog("close");}
		}
	});
}

/**
 * 表单框 - 添加用户组
 * @author 宋欢
 */
function user_groups_add() {
	var group_id = 1;
	var trObj = jQuery("#user_groups_add").prev("tr");
	if (trObj.attr("title") == "new") {
		group_id = parseInt(trObj.find("td:first > input").val()) + 1;
	}
	var html = "<tr title=\"new\"><td class=\"key\"><input type=\"checkbox\" name=\"new_group_id[]\" value=\"" + group_id + "\" checked /></td>" +
			   "<td><input type=\"text\" name=\"new_group_name[" + group_id + "]\" class=\"text_area\" size=\"50\" value=\"组名称\" /></td>" +
			   "<td align=\"center\"><a href=\"#\">权限设定</a> | <a href=\"#\">管理员列表</a> </td></tr>";
	jQuery("#user_groups_add").before(html);
}

/**
 * 文件 - 修改名称
 * @author 宋欢
 */
function file_edit_name() {
	var obj = jQuery("#file-list > tr > td.title > span.operate");
	var title = obj.prev().attr("title");
	var input = "<span title=\"" + title + "\"><input type=\"text\" name=\"filename\" value=\"" + title + "\" />";
	var btn = "&nbsp;&nbsp;&nbsp;&nbsp;<input type=\"button\" value=\"确定\" /></span>";
	obj.parent().html(input + btn);
}

/**
 * 设置<input type="text" />框的值
 * @author 宋欢
 * @param textName 表单名
 * @return void
 */
function setText(textName, value) {
	jQuery(":text[name='" + textName + "']").val(value);
}

/**
 * 清空<input type="text" />框的值
 * @author 宋欢
 * @param textName 表单名
 * @return void
 */
function clearText(textName) {
	setText(textName, "");
}

/**
 * 设置<input type="hidden" />框的值
 * @author 宋欢
 * @param textName 表单名
 * @return void
 */
function setHide(textName, value) {
	jQuery(":hidden[name='" + textName + "']").val(value);
}

/**
 * 清空<input type="hidden" />框的值
 * @author 宋欢
 * @param textName 表单名
 * @return void
 */
function clearHide(textName) {
	setHide(textName, "");
}

/**
 * 设置页码，提交表单
 * @author 宋欢
 * @param pageno 页码
 * @return void
 */
function pageJump(pageno) {
	setHide("pageno", pageno);
	document.adminForm.submit();
}

/**
 * 提示框
 * @author 宋欢
 * @param element 
 * @param dialog 提示消息
 * @param callback 回调函数
 */
function prompt(element, dialog, callback) {
	if (callback == null)
		callback = function() {jQuery(this).dialog("close");}
	var buttons = {
		"确定": callback,
		"取消": function() {jQuery(this).dialog("close");}
	}
	var height = 178;
	jQuery("#"+element+"-box").html(dialog);
	jQuery("#"+element).dialog({resizable: false, height: height, modal: true, buttons: buttons});
}

/**
 * 确认框
 * @author 宋欢
 * @param element 
 * @param dialog 提示消息
 */
function confirm(element, dialog) {
	var buttons = {"确定": function() {jQuery(this).dialog("close");}};
	var height = 160;
	jQuery("#"+element+"-box").html(dialog);
	jQuery("#"+element).dialog({resizable: false, height: height, modal: true, buttons: buttons});
}

/**
 * 改变分页方式
 * @author 宋欢
 * @return void
 */
function changeOrderWay(order_by) {
	var curr_order_by = jQuery("select[name='order_by']").val();
	var order_way = jQuery(":hidden[name='order_way']").val();
	if (curr_order_by == order_by) {
		order_way = order_way == "DESC" ? "ASC" : "DESC";
	}
	else {
		order_way = "DESC";
	}
	setHide("order_way", order_way);
	jQuery("select[name='order_by']").val(order_by);
	document.adminForm.submit();
}
